pub fn dp_rec_mc(amount: u32) -> u32 {
    let cash = [1,2,5,10,20,30,50,100];
    let mut left = amount;
    let mut need = 0; 
    for &k in cash.iter().rev() {
        if left < k {
            continue;  
        }
        let has = left / k;
        need += has;
        left -= has * k;
    }
    need
}
